package com.example.review.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * 封装了一个Docket类，完成swagger功能
 */
@Configuration
@EnableSwagger2  //不添加此注解，可能会是空页面
public class SwaggerConfig {
    @Bean
    public Docket docket(){
        /**
         * DocumentationType.SWAGGER_2:代表使用的是swagger2
         * DocumentationType.SWAGGER_12:代表使用的是swagger1
         *
         * 如果报错：Multiple Dockets with the same group name are not supported, The following duplicate groups were discovered. default
         *      1、可能是swagger版本过高，换个版本再试试即可
         *      2、也可以添加一个组名
         */
        Docket docket = new Docket(DocumentationType.SWAGGER_2).groupName("160review")
                .select()
                //paths()是根据路径判断生成接口文档的，apis()是根据包生成接口文档的
                .apis(RequestHandlerSelectors.basePackage("com.example.review.controller")) //只为com.example.review.controller生成接口文档
                .build();
        return docket;
    }
}
